<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>测试 websocket</title>
</head>
<body>
<script>
    var socket;

    function openSocket() {
        if (typeof (WebSocket) == "undefined") {
            console.log("您的浏览器不支持WebSocket");
        } else {
            console.log("您的浏览器支持WebSocket");
//实现化WebSocket对象，指定要连接的服务器地址与端口  建立连接
//等同于socket = new WebSocket("ws://localhost:8888/xxxx/im/25");
//var socketUrl="${request.contextPath}/im/"+$("#userId").val();
            let userId = document.getElementById('userId').value;
            var socketUrl = "https://localhost:8080/imserver/" + userId;
            socketUrl = socketUrl.replace("https", "ws").replace("http", "ws");
            console.log(socketUrl);
            if (socket != null) {
                socket.close();
                socket = null;
            }
            socket = new WebSocket(socketUrl);
//打开事件
            socket.onopen = function () {
                console.log("websocket已打开");
//socket.send("这是来自客户端的消息" + location.href + new Date());
            };
//获得消息事件
            socket.onmessage = function (msg) {
                console.log(msg.data);
//发现消息进入    开始处理前端触发逻辑
            };
//关闭事件
            socket.onclose = function () {
                console.log("websocket已关闭");
            };
//发生了错误事件
            socket.onerror = function () {
                console.log("websocket发生了错误");
            }
        }
    }

    function sendMessage() {
        if (typeof (WebSocket) == "undefined") {
            console.log("您的浏览器不支持WebSocket");
        } else {
            console.log("您的浏览器支持WebSocket");
            let toUserId = document.getElementById('toUserId').value;
            let contentText = document.getElementById('contentText').value;
            console.log('{"toUserId":"' +toUserId + '","contentText":"' + contentText + '"}');
            socket.send('{"toUserId":"' + toUserId + '","contentText":"' + contentText + '"}');
        }
    }
</script>
<p>【userId】：
<div><input id="userId" name="userId" type="text" value="10"></div>
<p>【toUserId】：
<div><input id="toUserId" name="toUserId" type="text" value="20"></div>
<p>【toUserId】：
<div><input id="contentText" name="contentText" type="text" value="hello websocket"></div>
<p>【操作】：
<div><a onclick="openSocket()">开启socket</a></div>
<p>【操作】：
<div><a onclick="sendMessage()">发送消息</a></div>
</body>
</html>